﻿module dict_ConcurrentProblem

//let toAsync action =
//    async{
//        return action()
//    }
//let run asyncs=
//    let tasks=
//        asyncs
//        |>Async.Parallel
//        |>Async.StartAsTask
//    tasks.Result
//open System.Collections.Generic    
//let dict =new Dictionary<int,int>()
//
//let add1 () =
//    dict.Add(1,1)
//let update () =
//    dict.[1]<-2
//
//let repeat f count =
//    seq{
//        for _ in 0..count-1 do
//            yield f |> toAsync 
//    }
//
//run <| repeat add1 1000|>ignore
//run <| repeat update 1000|>ignore
//
